package com.xunce.xcworkservice.entity;

import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableField;
import com.baomidou.mybatisplus.annotation.TableId;
import jakarta.persistence.Entity;
import jakarta.persistence.GeneratedValue;
import jakarta.persistence.GenerationType;
import jakarta.persistence.Table;
import lombok.Data;
import lombok.EqualsAndHashCode;
import org.springframework.data.annotation.Id;

import java.util.Date;

/**
 * @author yanlong.guo
 */
@Data
@EqualsAndHashCode(callSuper = false)
@Table(name = "project")
public class Project {

    @TableId(value = "id", type = IdType.AUTO)
    private Integer id;

    @TableField(value = "project_name")
    private String projectName;

    @TableField(value = "project_sn")
    private String projectSn;

    @TableField(value = "client")
    private String client;

    @TableField(value = "contract_state")
    private Integer contractState;

    @TableField(value = "init_date")
    private Date initDate;

    @TableField(value = "create_date")
    private Date createDate;

    @TableField(value = "updated_at")
    private Date updatedAt;

    @TableField(value = "project_type")
    private Integer projectType;

    @TableField(value = "contract_date")
    private Date contractDate;

    @TableField(value = "acceptance_date")
    private Date acceptanceDate;

    @TableField(value = "account_responsibility_id")
    private String accountResponsibilityId;

    @TableField(value = "fulfill_responsibility_id")
    private String fulfillResponsibilityId;

    @TableField(value = "solution_responsibility_id")
    private String solutionResponsibilityId;

    @TableField(value = "cpm_id")
    private String cpmId;

    @TableField(value = "external_pm_id")
    private String externalPmId;

    @TableField(value = "main_line")
    private String mainLine;

    @TableField(value = "line_order")
    private Integer lineOrder;

    @TableField(value = "project_state")
    private Integer projectState;

    @TableField(value = "project_status")
    private Integer projectStatus;

    @TableField(value = "end_date")
    private Date endDate;

    @TableField(value = "note")
    private String note;
}
